import api from './api';
import { ElMessage } from 'element-plus';

// 我们假设后端获取教学评价数据的接口是 GET /api/teacher/evaluations
// 并且它返回的数据结构是 { code: 200, message: 'Success', data: [...] }

const evaluationService = {
    /**
     * 从后端获取教学评价列表
     * @returns {Promise<Array>} 一个解析为评价数据数组的Promise
     * @throws {Error} 如果API调用失败，则抛出错误
     */
    async getEvaluations() {
        try {
            console.log('[EvaluationService] 正在从后端获取教学评价数据...');
            // 使用全局的axios实例发送GET请求
            const response = await api.get('/api/teacher/evaluations');

            // 检查响应中是否包含预期的数据数组
            if (response.data && response.data.data) {
                console.log('[EvaluationService] 成功获取评价数据:', response.data.data);
                return response.data.data; // 返回评价数据数组
            } else {
                // 处理后端返回200 OK状态但数据格式不正确的情况
                throw new Error(response.data.message || '从服务器返回的数据格式无效');
            }
        } catch (error) {
            console.error('[EvaluationService] 获取评价数据失败:', error);
            const errorMessage = error.response?.data?.message || error.message || '获取评价数据失败，请稍后重试。';

            // 我们可以直接在此处显示消息，或重新抛出错误由组件处理
            // 为了与登录模块保持一致，我们重新抛出错误
            throw new Error(errorMessage);
        }
    }
};

export default evaluationService;